<?php
/**
 * Nadëb (Makú-Nadëb)
 * 
 * @author     Mateus Martins <mateusweb@gmail.com>
 * @copyright  Copyright 2010 mateusweb.com.br
 * @license    http://www.gnu.org/licenses/gpl.html | GPL
 * @package    Nadeb
 * @version    1.0.0
 */


/**
 * Class Nadeb_Header
 * Monta um array para o header html baseado em um arquivo ini
 * 
 * @category   Nadeb
 * @package    Nadeb_Header
 * @copyright  Copyright 2010 mateusweb.com.br
 * @license    http://www.gnu.org/licenses/gpl.html | GPL
 */
class Nadeb_Header 
{
	/**
	 * Caso não encontre um arquivo ini com o nome do controller usa o arquivo padrão e monta a estrutura
	 * do header em um array, usa o metodo estatico Nadeb_Header::mountHeader para parsear os dados do
	 * header e montar o array para o template
	 * 
	 * @param array $_params
	 * @return array
	 */
	public static function getHeader($_params)
	{
		$controller = $_params["controller"];
		$module     = $_params["module"];
		
		$defaultHeaders  = new Zend_Config_Ini("./application/ini/$module/headers/index.ini", "headers");
		$atualHeaders     = "";
		if ( file_exists( "./application/ini/$module/headers/$controller.ini" ) )
		{
			$atualHeaders = new Zend_Config_Ini("./application/ini/$module/headers/$controller.ini", "headers");
			
		}
		$headers = Nadeb_Header::mountHeader($defaultHeaders,$atualHeaders);
		
		return $headers;
	}
	
	/**
	 * Monra um array apartir de dois objetos com informação sobre o header do HTML
	 * 
	 * @param object $_defaultHeaders
	 * @param object $_atualHeaders
	 * @return array
	 */
	private static function mountHeader($_defaultHeaders,$_atualHeaders)
	{
		$headers["favicon"] = $_defaultHeaders->favicon;
		if( isset($_atualHeaders->favicon) )
			$headers["favicon"] = $_atualHeaders->favicon;
		
		foreach($_defaultHeaders->meta as $key => $value) $headers["meta"][$key] = $value;
		if( isset($_atualHeaders->meta) )
		foreach($_atualHeaders->meta as $key => $value)  
			$headers["meta"][$key] = $value;
		
		foreach($_defaultHeaders->css as $key => $value) $headers["css"][$key] = $value;
		if( isset($_atualHeaders->css) )
			foreach($_atualHeaders->css as $key => $value)   
				$headers["css"][$key] = $value;
			
		foreach($_defaultHeaders->script as $key => $value) $headers["script"][$key] = $value;
		if( isset($_atualHeaders->script) )
			foreach($_atualHeaders->script as $key => $value)   
				$headers["script"][$key] = $value;
		
		return $headers;
	}
}